웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > python

[Python] MongoDB 설치 후 Collection method not found 에러 발생

Last Modified : 2022-01-23 / Created : 2022-01-23
3,218
View Count
Python 환경에서 MongoDB를 사용 할 경우 PyMongo를 사용합니다. 그런데 새로운 컴퓨터에 개발환경을 설정하는 과정에서 에러가 발생하였습니다.

"Collection, insert(or update) method not found"


컬렉션에 사용할 메소드가 존재하지 않는다는 에러가 발생하였습니다. 새로운 개발 환경과의 차이점은 MongoDB 버전을 최신 버전인 5.0으로 바꾸었는데 아무래도 그 부분이 원인인 것 같았습니다. 확인해보니 기존에는 MongoDB 버전이 3이었습니다.



! MongoDB 버전을 낮추고 다시 해보았으나 실패

그래서 MongoDB 5.0을 삭제한 후 다시 3 버전으로 설치하였습니다. 재설치가 끝난 후 테스트를 해봐았는데 여전히 잘 동작하지 않고 해당 method가 컬렉션에 존재하지 않는다는 에러가 발생하였습니다.

아무래도 MongoDB 설치와는 다른 문제인 것 같았습니다. 그래서 원인이 뭘지 생각해보았더니 PyMongo 버전이 다르다는 것을 확인하였습니다.

새로 설치된 PC의 버전을 확인해보니 PyMongo 4가 설치되어 있었습니다. 아래와 같은 방법으로 파이썬 패키지 확인이 가능했습니다.
> pip list

...
pymongo 4.x.x

기존에 사용하던 버전으로 재설치하기 위해서 일단 새로 설치된 4 버전을 지우고 아래의 방법으로 3.12.0 버전을 재설치 하였습니다.
// 기존 버전 삭제
> pip uninstall pymongo

// 특정 버전 3.12.0로 재설치 진행
> pip install pymongo==3.12.0


! PyMongo 재설치 후 문제 해결

설치가 완료된 후 동작 여부를 확인해보았습니다. 기존에 발생했던 에러는 더 이상 발생하지 않고 잘 동작했습니다. 결국 MongoDB 버전이 아닌 PyMongo 버전이 문제였습니다. 이와 같이 비슷한 문제가 발생할 경우 MongoDB 문제가 아닌 파이썬 패키지 PyMongo의 원인일 수 있습니다.

Previous

Python 소문자 대문자 변환하는 방법

Previous

[Python] flask 쿠키 사용하는 방법, cookie